package vip.xiaonuo.supplier.modular.base.stores.service;

import cn.hutool.core.lang.tree.Tree;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.supplier.modular.base.stores.entity.SupplierStores;
import vip.xiaonuo.supplier.modular.base.stores.param.SupplierStoresAddParam;
import vip.xiaonuo.supplier.modular.base.stores.param.SupplierStoresEditParam;
import vip.xiaonuo.supplier.modular.base.stores.param.SupplierStoresIdParam;
import vip.xiaonuo.supplier.modular.base.stores.param.SupplierStoresPageParam;

import java.util.List;

/**
 * 门店（仓库）信息Service接口
 *
 * @author Mr.wu
 * @date  2025/03/15 18:35
 **/
public interface SupplierStoresService extends IService<SupplierStores> {

    /**
     * 获取门店（仓库）信息分页
     *
     * @author Mr.wu
     * @date  2025/03/15 18:35
     */
    Page<SupplierStores> page(SupplierStoresPageParam supplierStoresPageParam);

    /**
     * 添加门店（仓库）信息
     *
     * @author Mr.wu
     * @date  2025/03/15 18:35
     */
    void add(SupplierStoresAddParam supplierStoresAddParam);

    /**
     * 编辑门店（仓库）信息
     *
     * @author Mr.wu
     * @date  2025/03/15 18:35
     */
    void edit(SupplierStoresEditParam supplierStoresEditParam);

    /**
     * 删除门店（仓库）信息
     *
     * @author Mr.wu
     * @date  2025/03/15 18:35
     */
    void delete(List<SupplierStoresIdParam> supplierStoresIdParamList);

    /**
     * 获取门店（仓库）信息详情
     *
     * @author Mr.wu
     * @date  2025/03/15 18:35
     */
    SupplierStores detail(SupplierStoresIdParam supplierStoresIdParam);

    /**
     * 获取门店（仓库）信息详情
     *
     * @author Mr.wu
     * @date  2025/03/15 18:35
     **/
    SupplierStores queryEntity(String id);

    /**
     * 获取门店信息列表
     *
     * @author Mr.wu
     * @date  2024/10/23 20:57
     **/
    List<SupplierStores> storeslist();

    /**
     * 获取门店仓库树
     *
     * @author Mr.wu
     * @date  2024/10/23 20:57
     **/
    List<Tree<String>> storesTree();
}
